package com.bifang.module.file.core.util;

import com.bifang.module.file.common.vo.FileInfoVO;
import com.bifang.module.file.common.vo.FileClassVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.InputStream;

/** 文件服务工具类 */
public interface FileServiceUtil {
    /** 文件上传 输入文件 */
    void upload(FileClassVO fileClassVO, FileInfoVO fileInfoVO, MultipartFile file);

    /** 文件上传 输入字节 */
    void upload(FileClassVO fileClassVO, FileInfoVO fileInfoVO, byte[] file);

    /** 文件上传 输入文件流 */
    void upload(FileClassVO fileClassVO, FileInfoVO fileInfoVO, InputStream in);
    //压缩后端图片处理
    void imgCompressUpload(FileClassVO fileClassVO, FileInfoVO fileInfoVO, File file, boolean imgCompressDel);
    /** 文件下载 */
    void download(FileClassVO fileClassVO, FileInfoVO fileInfoVO, HttpServletResponse response);

    /** 获取base64文件 */
    String getBase64(FileClassVO fileClassVO, FileInfoVO fileInfoVO);

    /** 显示文件 */
    void showFile(FileInfoVO fileInfoVO, HttpServletResponse response,Boolean isSendRedirect);

    /** 删除文件 */
    void deleteFile(FileInfoVO fileInfoVO);
    /**已上传到文件服务器上的图片压缩**/
    void imgCompress(FileInfoVO fileInfoVO,FileClassVO fileClassVO);
}
